#include<iostream>
using namespace std;

void swap(int &a, int &b)
{
	int temp=a;
	a=b;
	b=temp;

}
int partion(int *a, int start, int end)
{
  int i=start;
  int j=end;
  while(i<j)
  {

	  while(i<j&&a[i]<a[j])
	    i++;
	    swap(a[i],a[j]);
	  while(i<j&&a[i]<a[j])
	    j--;
	    swap(a[i],a[j]);
  }
       return i;


}

void quicksort(int *a ,int start, int end)
{
	if (start<end)
	{
		int index=partion(a,start,end);
		quicksort(a,start,index-1);
		quicksort(a,index+1,end);
	}

}

int main()
{
	int a[]={23,13,49,6,31,19,28};
	int len=sizeof(a)/sizeof(a[0]);
	quicksort(a,0,len-1);
	for (int i=0;i<len;i++)
	{
		cout<<a[i]<<" ";
	}
	cout<<endl;
	return 0;
}